- TOC- 1 - 3dTerp - The PASTERP based 3d interpreter ............................ 1 A Quick Look at 3dTerp operation ..................................... 1 Setup - Installing 3dTerp ............................................ 1 Contact information .................................................. 2 3D Library routines .................................................. 3 File List - The files in the 3dTerp package .......................... 3 Warranty ............................................................. 3 procedure setColor ................................................... 4 procedure load3dObject ............................................... 4 procedure move3dObject ............................................... 5 procedure paint3dObject .............................................. 5 procedure rotate3dObject ............................................. 5 procedure scale3dObject .............................................. 5 procedure move3dObjectTo ............................................. 6 procdeure position3dObject ........................................... 6 procedure setPerspective ............................................. 7 - TOC- 1 - - 1 - 3dTerp - The PASTERP based 3d interpreterÜ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 3dTerp is a combination of two HyperAct, Inc. products - PASTERP - The pascal-like interpreter, and 3dLib - a 3D library for Pascal. PASTERP is a script language modeled after the Pascal language, but with language enhancements to make it easier and safer to use by end- users, and with an open architecture that allows applications to include a version of PASTERP that is modified to provide application specific functionality. 3dTerp is a simple PASTERP application that includes 3d functions built in, to allow the user to write 3D animation scripts. The 3D routines used in 3dTerp are based on HyperAct, Inc 3dLib - a 3D library that was built to provide fast and easy 3D routines. This tool can be used as a programming learning tool, simple 3D education tool or just plain fun! The price is right - 3dTerp is free to use. The only restrictions that are applied to the tool's distribution is that it can not be sold separatly (It can be distributed as part of a Shareware or freeware collection), and that all the files that are described in the File List section are included. Related Topics : Setup - Installing 3dTerp A Quick Look at 3dTerp operation Contact information Warranty File List - The files in the 3dTerp package 3D Library routines Setup - Installing 3dTerpÜ ßßßßßßßßßßßßßßßßßßßßßßßßß Simply copy the files that are included in the package and described in the File List section to a working directory of your choice. Related Topics : A Quick Look at 3dTerp operation File List - The files in the 3dTerp package 3dTerp - The PASTERP based 3d interpreter A Quick Look at 3dTerp operationÜ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß The 3dTerp interpreter executable file is 3dTerp.exe. 3dterp, Page # 1 Date 8-12-1994 Thursday - 2 - You activate this file with the name of the animation script file as the first parameter. Assuming that you want to try the 3D Box moving demo animation script included in the file box3mv.trp, you will enter 3dterp box3mv from the command line. The box3mv animation script will be read and interpreted by the 3dTerp program. To create animation scripts by yourself, you will need to do the following things : Create a simple ascii text file with an extension ".trp", with an ascii text editor of your choice. The Dos Edit editor or Turbo Pascal IDE are good examples of such editors. The animation script must contain a procedure called "main", this is the procedure that is executed by the 3dTerp program after the script is read to memory. The code you write in the main procedure (and optional other procedures) is PASTERP code. PASTERP is a simple language modeled after the Pascal language. If you are a seasoned Pascal programmer and would like to get your feet wet as soon as possible, we suggest that you inspect some of the *.TRP scripts provided with the 3dTerp package, execute them using the 3dTerp program, and experiment with the PASTERP language by changing the code in these modules to create new animation patterns. The PASTERP language is defined in the PASTERP.DOC file included with this package. The PASTERP.DOC file documents the standard and extended PASTERP libraries. The 3D extensions to PASTERP that were added to 3dTerp are described in the "3D Library routines" section below. Related Topics : PASTERP Language Reference 3D Library routines Contact informationÜ ßßßßßßßßßßßßßßßßßßß Contact HyperAct, Inc. P.O.Box 5517 Coralville IA 52241 U.S.A 3dterp, Page # 2 Date 8-12-1994 Thursday - 3 - E-Mail : Compuserve - 76350,333 Phone/Fax : (319) 351-8413 To contact the author directly please write to : E-Mail : Compuserve - 100274,162 Internet - rloewy@panix.com Related Topics : 3dTerp - The PASTERP based 3d interpreter Warranty WarrantyÜ ßßßßßßßß There is no warranty what so ever, The package is supplied as is, The distributor (HyperAct, Inc.), or the author (Loewy Ron), are not, and will not be responsible for any damages, lost profits, or inconveniences caused by the use, or inability to use this package. The use of the program is at your own risk. By using (or attempting to use) the package you agree to this. Related Topics : 3dTerp - The PASTERP based 3d interpreter Contact information File List - The files in the 3dTerp packageÜ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß The following files are included with the 3dTerp package : 3dterp.exe - The 3d interpreter program 3dterp.txt - The 3dTerp documentation in text format. 3dterp.hlp - The 3dTerp documentation in WinHelp format. pasterp.txt - The PASTERP documentation in text format. pasterp.hlp - The PASTERP documentation in WinHelp format. box3mv.trp - 3dTerp demo script. box3mv2.trp - 3dTerp demo script. r2d2.trp - 3dTerp demo script. integv.trp - 3dTerp demo script. box.3d2 - a 3D box object. pyr.3d2 - a 3D pyramide object. prop.3d2 - a 3D prop object. 3do.exe - 3D object compiler. 3do.txt - 3D object compiler documentation. 3D Library routinesÜ ßßßßßßßßßßßßßßßßßßß The 3dTerp program adds several procedures and functions to the PASTERP library, that allow you to load, display, and manipulate 3D objects. The 3D specific functions and procedures are : 3dterp, Page # 3 Date 8-12-1994 Thursday - 4 - procedure move3dObject procedure move3dObjectTo procedure paint3dObject procdeure position3dObject procedure rotate3dObject procedure scale3dObject procedure setColor procedure setPerspective procedure load3dObject procedure load3dObjectÜ ßßßßßßßßßßßßßßßßßßßßßß procedure load3dObject(objName : string, objFile : string, color : byte); This procedure loads a 3d object from a disk file, and associates a name to it. This name will later be used in functions that display and manipulate the 3d object. Parameters objName - This is the name that is associated to the object. objFile - The Dos path to the object file. color - The initial color of the object. procedure setColorÜ ßßßßßßßßßßßßßßßßßß procedure setColor(color : byte); This procedure is used to set the color the object will be painted in. Parameters color - This is the color that will be used. The following values are allowed : Black = 0 Blue = 1 Green = 2 Cyan = 3 Red = 4 Magenta = 5 Brown = 6 LightGray = 7 DarkGray = 8 LightBlue = 9 LightGreen = 10 3dterp, Page # 4 Date 8-12-1994 Thursday - 5 - LightCyan = 11 LightRed = 12 LightMagenta = 13 Yellow = 14 White = 15 procedure paint3dObjectÜ ßßßßßßßßßßßßßßßßßßßßßßß procedure paint3dObject(objName : string); The paint3dObject is used to display the object on the screen in it's current color, position, scale and rotation attributes. Parameters objName - This is the name that is associated to the object. procedure rotate3dObjectÜ ßßßßßßßßßßßßßßßßßßßßßßßß procedure rotate3dObject(objName : string, axis : string, deg : real); This routine is used to rotate the object around a specified axis, by specified degrees. Parameters objName - This is the name that is associated to the object. axis - This is the axis the object will be rotated around, allowed values are "X", "Y" and "Z". deg - The degrees amount to rotate the object. procedure move3dObjectÜ ßßßßßßßßßßßßßßßßßßßßßß procedure move3dObject(objName : string, axis : string, by : real); This procedure is used to move an object along a specified axis. Parameters objName - This is the name that is associated to the object. axis - This is the axis the object will be moved along, allowed values are "X", "Y" and "Z". by - The amount of space units the object will be moved. 3dterp, Page # 5 Date 8-12-1994 Thursday - 6 - procedure scale3dObjectÜ ßßßßßßßßßßßßßßßßßßßßßßß procedure scale3dObject(objName : string, axis : string, scale : real); This procedure is used to scale an object around a specified axis. Related Topics objName - This is the name that is associated to the object. axis - This is the axis the object will be rotated around, allowed values are "X", "Y" and "Z". scale - This is the scale the object will be changed by, if you want the object to be 125% of it's original size, use the value 1.25. procedure move3dObjectToÜ ßßßßßßßßßßßßßßßßßßßßßßßß procedure move3dObjectTo(objName : string, x : real, y : real, z : real); This procedure moves the object's center of gravity to a specified point in space. Parameters objName - This is the name that is associated to the object. x, y, z - These are the coordinates the object's center of gravity will be moved to. procdeure position3dObjectÜ ßßßßßßßßßßßßßßßßßßßßßßßßßß procedure position3dObject(objName : string, var x : real, var y : real, var z : real); This procedure is used to find out the current center of gravity coordinates of the object. Parameters objName - This is the name that is associated to the object. x, y, z - These variable will be set to the object's center of gravity coordinates. 3dterp, Page # 6 Date 8-12-1994 Thursday - 7 - procedure setPerspectiveÜ ßßßßßßßßßßßßßßßßßßßßßßßß procedure setPerspective(perspective : boolean); This procedure is used to define the draw mode - Perspective or standard. Parameters perspective - This parameters sets the display mode to Perspective or standard, Allowed values are true for Perspective, flase otherwise. 3dterp, Page # 7 Date 8-12-1994 Thursday - INDEX- 1 - load3dObject : procedure load3dObject ............................................... 4 move3dObject : procedure move3dObject ............................................... 5 move3dObjectTo : procedure move3dObjectTo ............................................. 6 paint3dObject : procedure paint3dObject .............................................. 5 position3dObject : procdeure position3dObject ........................................... 6 rotate3dObject : procedure rotate3dObject ............................................. 5 scale3dObject : procedure scale3dObject .............................................. 5 setColor : procedure setColor ................................................... 4 setPerspective : procedure setPerspective ............................................. 7 - INDEX- 1 -